home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / text / dtp / Notes1.3.lha / Notes / english / Violinkey.rexx < prev   
OS/2 REXX Batch file  |  1999-02-18  |  43KB  |  1,425 lines

  1. /* subprogram for "Notes.pprx" */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8.  
  9. noteneingabe:
  10.     /* smallest notedistance */
  11.     sysart = "notesystem:2"
  12.     systemart = ppm_Getform("Please repeat your choice of the notesystems... (2, 1v oder 1b)", 3, sysart)
  13.     select
  14.     when systemart == '2' then zdist = 4
  15.     when systemart == '1v' then zdist = 2
  16.     when systemart == '1b' then zdist = 2
  17.     otherwise noteneingabe()
  18.     end
  19.     zdist2 = zdist-2
  20.     xgrdform = "(1,2,4,8 oder 16)"
  21.     xgrd = ppm_GetForm("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform)
  22.     if xgrd == '' then  exit_msg("Break")
  23.     select
  24.      when xgrd == '1' then xg =0.7
  25.      when xgrd == '2' then xg =1.4
  26.      when xgrd == '4' then xg =2.8
  27.      when xgrd == '8' then xg =5.6
  28.      when xgrd == '16' then xg =11.2
  29.      otherwise notenwert()
  30.     end
  31.  
  32.    /* pointmessure of the notes */
  33.    notepkt = 26
  34.    call ppm_SetJustification(0)
  35.    
  36.    zz = 0   /* linecounter (german:Zeilenzähler) */
  37.    notex = 0
  38.    notey = 0
  39.    page = ppm_CurrentPage()
  40.  
  41. clickpos:
  42.    res = ppm_GetUserText(2, "Manual or align to a box ? m/b")
  43.  
  44.    if res == 'M' then res = 'm'
  45.    if res == 'B' then res = 'b'
  46. click:
  47.  select
  48.    when res == 'm' then
  49.      do
  50.        clickpos = ppm_GetClickPosition("Pleace click on the place, where I shall begin...")
  51.        if clickpos == 0 then
  52.            do
  53.            click()
  54.            end
  55.        else
  56.          do
  57.            notey = word(clickpos, 2)
  58.            notex = word(clickpos, 1)
  59.            if notex < 2.5 then notex = 2.5
  60.            xw = notex
  61.            yw = notey
  62.            if systemart ~= '2' then
  63.             do
  64.              if notey <= 3.3  then zz= 0   /* zz is linecounter */
  65.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  66.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  67.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  68.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  69.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  70.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  71.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  72.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  73.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  74.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  75.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  76.              if notey > 25.3 then noteneingabe()
  77.             end
  78.            else
  79.             do
  80.              if notey <= 3.3  then zz= 0
  81.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  82.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  83.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  84.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  85.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  86.             end
  87.          end
  88.  
  89.      end
  90.    when res == 'b' then
  91. clickb:
  92.      do
  93.         clickbox = ppm_ClickOnBox("Pleace click on a box, where I shall work away ...")
  94.         if clickbox == '' then clickb()
  95.         pos = ppm_GetBoxPosition(clickbox)
  96.         notex = word(pos, 1)
  97.         notey = word(pos, 2)
  98.         xw = notex
  99.         yw = notey
  100.         call ppm_BoxAtPosn(notex, notey, page)
  101.         if notey <= 3.3  then zz= 0
  102.         if ((notey > 5.5)&(notey < 9.3)) then zz = 4
  103.         if ((notey > 9.5)&(notey < 13.3)) then zz = 8
  104.         if ((notey > 13.5)&(notey < 17.3)) then zz = 12
  105.         if ((notey > 17.5)&(notey < 21.3)) then zz = 16
  106.         if ((notey > 21.5)&(notey < 25.3)) then zz = 20
  107.  
  108.         if notex <= 1 then
  109.         do
  110.           noteneingabe()
  111.         end
  112.      end
  113.    otherwise clickpos()
  114.  end
  115.  
  116.  
  117.    /* pointerbox */
  118.  
  119.    zbid = ppm_CreateBox(notex, zz+0.5, 0.3, 1, 0)
  120.    call ppm_SetSize(26)
  121.    zbn = ppm_GetBoxName(zbid)
  122.    call ppm_TextIntoBox(zbn, '5')
  123.  
  124.  
  125. notenwert:
  126.  
  127.    do forever
  128.            cr = '0a'x
  129.            form = "wort name ['n'at.]"
  130.            call ppm_SetBoxPosition(zbid, notex, zz+0.5)
  131.            call ppm_UpdateScreen()
  132.            eingabe = ppm_GetForm("Please give in for the notes ...(nothing=BREAK )", 7, form)
  133.            if eingabe = '' then
  134.            do
  135.             call ppm_DeleteBox(zbid)
  136.             exit_msg("Break")
  137.            end
  138.            nw = word(eingabe, 1)
  139.            nn = word(eingabe, 2)
  140.            if nw == 'P' then nw = 'p'
  141.            al = word(eingabe, 3)
  142.            if al == 'N' then al = 'n'
  143.            IF nw == 'D' then nw = 'd'
  144.            if nw == 'C' then nw = 'c'
  145.            if nw == 'L' then nw = 'l'
  146.            if nn == 'L' then nn = 'l'
  147.            if nw == "NEW" then nw = "new"
  148.            if nw == "END" then nw = "end"
  149.  
  150.       select
  151.         when nn=='GB2' then nn = 'Gb2'
  152.         when nn=='BB2' then nn = 'Bb2'
  153.         when nn=='AB2' then nn = 'Ab2'
  154.         when nn=='DB3' then nn = 'Db3'
  155.         when nn=='EB3' then nn = 'Eb3'
  156.         when nn=='GB3' then nn = 'Gb3'
  157.         when nn=='AB3' then nn = 'Ab3'
  158.         when nn=='BB3' then nn = 'Bb3'
  159.         when nn=='DB4' then nn = 'Db4'
  160.         when nn=='EB4' then nn = 'Eb4'
  161.         when nn=='GB4' then nn = 'Gb4'
  162.         when nn=='AB4' then nn = 'Ab4'
  163.         when nn=='BB4' then nn = 'Bb4'
  164.         when nn=='DB5' then nn = 'Db5'
  165.         when nn=='EB5' then nn = 'Eb5'
  166.         otherwise NOP
  167.       end
  168.  
  169.         /* x-distance of the notes */
  170.     select
  171.       when nw=='s' then
  172.           do
  173.           xw = xg/16
  174.           nw='x'
  175.           yv = 0
  176.           end
  177.       when nw=='S' then
  178.           do
  179.           xw = xg/16
  180.           nw='X'
  181.           yv = 0.47
  182.           end
  183.       when nw=='e' then
  184.           do
  185.           xw = xg/8
  186.           nw='e'
  187.           yv = 0
  188.           end
  189.       when nw=='E' then
  190.           do
  191.           xw = xg/8
  192.           nw='E'
  193.           yv = 0.47
  194.           end
  195.       when nw=='q' then
  196.           do
  197.           xw = xg/4
  198.           nw='q'
  199.           yv = 0
  200.           end
  201.       when nw=='Q' then
  202.           do
  203.           xw = xg/4
  204.           nw='Q'
  205.           yv = 0.47
  206.           end
  207.       when nw=='h' then
  208.           do
  209.           xw = xg/2
  210.           yv = 0
  211.           end
  212.       when nw=='H' then
  213.           do
  214.           xw = xg/2
  215.           yv = 0.47
  216.           end
  217.       when nw=='w' then
  218.           do
  219.           xw = xg
  220.           nw='w'
  221.           yv = 0
  222.           end
  223.       when nw=='W' then
  224.           do
  225.           xw = xg
  226.           nw='W'
  227.           yv = 0.47
  228.           end
  229.  
  230.      /*point after the note */
  231.  
  232.       when nw == 'pt' then
  233.           do
  234.             if notex < 3 then
  235.             do
  236.               notex = bakx
  237.               zz = zz - zdist
  238.               call ppm_SetSize(25)
  239.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  240.               call ppm_SetSize(20)
  241.               call ppm_TextIntoBox(box#id, 'd')
  242.             end
  243.             else
  244.             do
  245.               call ppm_SetSize(25)
  246.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  247.               call ppm_SetSize(20)
  248.               call ppm_TextIntoBox(box#id, 'd')
  249.             end
  250.            select
  251.                when nn == '1' then
  252.                do
  253.                xw = xg
  254.                notex = notex+xw
  255.                end
  256.                when nn == '2' then
  257.                do
  258.                xw = xg/2
  259.                notex = notex+xw
  260.                end
  261.                when nn == '4' then
  262.                do
  263.                xw = xg/4
  264.                notex = notex+xw
  265.                end
  266.                when nn == '8' then
  267.                do
  268.                xw = xg/8
  269.                notex = notex+xw
  270.                end
  271.                when nn == '16' then
  272.                do
  273.                xw  = xg/16
  274.                notex = notex+xw
  275.                end
  276.                when nn == 'l' then
  277.                do
  278.                xw  = 0.2
  279.                notex = notex+xw
  280.                end
  281.                otherwise notenwert()
  282.            end
  283.            if notex >=18.7 then
  284.                do
  285.                  notex = 2.5
  286.                  zz = zz + zdist
  287.                end
  288.            px = notex - 4
  289.            py = zz-1
  290.            if px < 0 then px = 0
  291.            call ppm_SetPagePosition(px, py+2)
  292.            notenwert()
  293.           end
  294.  
  295.       when nw == 'PT' then
  296.           do
  297.             if notex < 3 then
  298.             do
  299.               notex = bakx
  300.               zz = zz - zdist
  301.               call ppm_SetSize(25)
  302.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  303.               call ppm_SetSize(20)
  304.               call ppm_TextIntoBox(box#id, 'd')
  305.             end
  306.             else
  307.             do
  308.               call ppm_SetSize(25)
  309.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  310.               call ppm_SetSize(20)
  311.               call ppm_TextIntoBox(box#id, 'd')
  312.             end
  313.            select
  314.                when nn == '1' then
  315.                do
  316.                xw = xg
  317.                notex = notex+xw
  318.                end
  319.                when nn == '2' then
  320.                do
  321.                xw = xg/2
  322.                notex = notex+xw
  323.                end
  324.                when nn == '4' then
  325.                do
  326.                xw = xg/4
  327.                notex = notex+xw
  328.                end
  329.                when nn == '8' then
  330.                do
  331.                xw = xg/8
  332.                notex = notex+xw
  333.                end
  334.                when nn == '16' then
  335.                do
  336.                xw  = xg/16
  337.                notex = notex+xw
  338.                end
  339.                when nn == 'l' then
  340.                do
  341.                xw  = 0.2
  342.                notex = notex+xw
  343.                end
  344.                otherwise notenwert()
  345.            end
  346.            if notex >=18.7 then
  347.                do
  348.                  notex = 2.5
  349.                  zz = zz + zdist
  350.                end
  351.            px = notex - 4
  352.            py = zz-1
  353.            if px < 0 then px = 0
  354.            call ppm_SetPagePosition(px, py+2)
  355.            notenwert()
  356.           end
  357.  
  358.      /* delete */
  359.       when nw == 'd' then
  360.           do
  361.            oldpos = notex
  362.            thisbox = ppm_BoxNum()
  363.            if thisbox == zbid then
  364.              do
  365.              ppm_Inform(1, "Nothing to delete!","OK")
  366.              notenwert()
  367.              end
  368.            lpos= ppm_GetBoxPosition()
  369.            notex = word(lpos, 1)
  370.            call ppm_DeleteBox()
  371.            diff = oldpos - notex
  372.            if diff<0 then notenwert()
  373.            if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
  374.            py    = zz - 1
  375.            px = notex - 4
  376.            if px < 0 then px = 0
  377.            call ppm_SetPagePosition(px, py+2)
  378.            notenwert()
  379.           end
  380.  
  381.       /* barline */
  382.       when nw == 'l' then
  383.           do
  384.            call ppm_SetLineWeight(0.25)
  385.            call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
  386.            notex = notex+0.2
  387.           end
  388.  
  389.      /* Pausen */
  390.       when nw == 'p' then
  391.         do
  392. pausenwert:
  393.            x = notex
  394.            select
  395.                when nn== '1' then do
  396.  
  397.                    y = 2.28+zz
  398.                    call ppm_SetLineWeight(4)
  399.                    call ppm_DrawLine(x, y, x+0.4, y)
  400.                    call ppm_SetLineWeight(0.25)
  401.                    xw = xg
  402.                    notex = notex+xw
  403.                end
  404.  
  405.                when nn== '2' then do
  406.  
  407.                    y = 2.32+zz
  408.                    call ppm_SetLineWeight(4)
  409.                    call ppm_DrawLine(x, y, x+0.4, y)
  410.                    call ppm_SetLineWeight(0.25)
  411.                    xw = xg/2
  412.                    notex = notex+xw
  413.                end
  414.  
  415.                when nn== '4' then do
  416.  
  417.                    y = 2.07+zz
  418.                    Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  419.                    boxnm = ppm_DocNextBox(Pbox)
  420.                    call ppm_DeleteContents(boxnm)
  421.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
  422.                    xw = xg/4
  423.                    notex = notex+xw
  424.                end
  425.  
  426.                when nn== '8' then do
  427.  
  428.                    y = 2.21+zz
  429.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  430.                    boxnm = ppm_DocNextBox(Pbox)
  431.                    call ppm_DeleteContents(boxnm)
  432.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
  433.                    xw = xg/8
  434.                    notex = notex+xw
  435.                end
  436.  
  437.                when nn== '16' then do
  438.  
  439.                    y = 2.21+zz
  440.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  441.                    boxnm = ppm_DocNextBox(Pbox)
  442.                    call ppm_DeleteContents(boxnm)
  443.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
  444.                    xw = xg/16
  445.                    notex = notex+xw
  446.                end
  447.                otherwise notenwert()
  448.            end
  449.            if notex >=18.7 then
  450.                do
  451.                  notex = 2.5
  452.                  zz = zz + zdist
  453.                end
  454.            px = notex - 4
  455.            py = zz-1
  456.            if px < 0 then px = 0
  457.            call ppm_SetPagePosition(px, py+2)
  458.            notenwert()
  459.         end
  460.  
  461.     /*spaces*/
  462.  
  463.       when nw == 'c' then
  464.         do
  465.           select
  466.  
  467.            when nn== '1' then
  468.                do
  469.                xw = xg
  470.                notex = notex+xw
  471.                end
  472.            when nn== '2' then
  473.                do
  474.                xw = xg/2
  475.                notex = notex+xw
  476.                end
  477.            when nn== '4' then
  478.                do
  479.                xw = xg/4
  480.                notex = notex+xw
  481.                end
  482.            when nn== '8' then
  483.                do
  484.                xw = xg/8
  485.                notex = notex+xw
  486.                end
  487.            when nn== '16' then
  488.                do
  489.                xw = xg/16
  490.                notex = notex+xw
  491.                end
  492.            when nn == 'l' then
  493.                do
  494.                xw  = 0.2
  495.                notex = notex+xw
  496.                end
  497.            otherwise notenwert()
  498.           end
  499.            if notex >=18.7 then
  500.                do
  501.                  notex = 2.5
  502.                  zz = zz + zdist
  503.                end
  504.            px = notex - 4
  505.            py = zz-1
  506.            if px < 0 then px = 0
  507.            call ppm_SetPagePosition(px, py+2)
  508.            notenwert()
  509.         end
  510.  
  511.       when nw == 'new' then
  512.         do
  513.            call ppm_DeleteBox(zbid)
  514.            clickpos()
  515.         end
  516.       otherwise notenwert()
  517.     end
  518.  
  519.  
  520.      /* y-distance of the notes - notestem to top */
  521.  
  522.         call ppm_SetLineWeight(0.25)
  523.  
  524.       select
  525.         when nn=='f#5'  then
  526.         do
  527.             yw = 0.645
  528.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  529.             call ppm_SetSize(20)
  530.             call ppm_TextIntoBox(box#id, 's')
  531.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  532.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  533.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  534.         end
  535.         when nn=='f5'  then
  536.         do
  537.             yw = 0.645
  538.             if al == 'n' then call auflhoch()
  539.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  540.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  541.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  542.         end
  543.         when nn=='e5'  then
  544.         do
  545.             yw = 0.745
  546.             if al == 'n' then call auflhoch()
  547.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  548.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  549.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  550.         end
  551.         when nn=='eb5'  then
  552.         do
  553.             yw = 0.745
  554.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  555.             call ppm_SetSize(20)
  556.             call ppm_TextIntoBox(box#id, 'f')
  557.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  558.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  559.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  560.         end
  561.         when nn=='d#5'  then
  562.         do
  563.             yw = 0.845
  564.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  565.             call ppm_SetSize(20)
  566.             call ppm_TextIntoBox(box#id, 's')
  567.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  568.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  569.         end
  570.         when nn=='d5'  then
  571.         do
  572.             yw = 0.845
  573.             if al == 'n' then call auflhoch()
  574.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  575.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  576.         end
  577.         when nn=='db5'  then
  578.         do
  579.             yw = 0.845
  580.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  581.             call ppm_SetSize(20)
  582.             call ppm_TextIntoBox(box#id, 'f')
  583.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  584.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  585.         end
  586.         when nn=='c#5'  then
  587.         do
  588.             yw = 0.945
  589.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  590.             call ppm_SetSize(20)
  591.             call ppm_TextIntoBox(box#id, 's')
  592.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  593.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  594.         end
  595.         when nn=='c5'  then
  596.         do
  597.             yw = 0.945
  598.             if al == 'n' then call auflhoch()
  599.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  600.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  601.         end
  602.  
  603.         when nn=='b4'  then
  604.         do
  605.             yw = 1.045
  606.             if al == 'n' then call auflhoch()
  607.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  608.         end
  609.  
  610.         when nn=='bb4'  then
  611.         do
  612.             yw = 1.045
  613.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  614.         end
  615.  
  616.         when nn=='a#4' then
  617.         do
  618.             yw = 1.145
  619.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  620.             call ppm_SetSize(20)
  621.             call ppm_TextIntoBox(box#id, 's')
  622.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  623.         end
  624.  
  625.         when nn=='a4'  then
  626.         do
  627.             yw = 1.145
  628.             if al == 'n' then call auflhoch()
  629.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  630.         end
  631.  
  632.         when nn=='ab4' then
  633.         do
  634.             yw = 1.145
  635.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  636.             call ppm_SetSize(20)
  637.             call ppm_TextIntoBox(box#id, 'f')
  638.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  639.         end
  640.  
  641.         when nn=='g#4' then
  642.         do
  643.             yw = 1.245
  644.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  645.             call ppm_SetSize(20)
  646.             call ppm_TextIntoBox(box#id, 's')
  647.         end
  648.         when nn=='g4'  then
  649.         do
  650.             yw = 1.245
  651.             if al == 'n' then call auflhoch()
  652.         end
  653.         when nn=='gb4' then
  654.         do
  655.             yw = 1.245
  656.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  657.             call ppm_SetSize(20)
  658.             call ppm_TextIntoBox(box#id, 'f')
  659.         end
  660.         when nn=='f#4' then
  661.         do
  662.             yw = 1.345
  663.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  664.             call ppm_SetSize(20)
  665.             call ppm_TextIntoBox(box#id, 's')
  666.         end
  667.         when nn=='f4'  then
  668.         do
  669.             yw = 1.345
  670.             if al == 'n' then call auflhoch()
  671.         end
  672.         when nn=='e#4' then
  673.         do
  674.             yw = 1.445
  675.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  676.             call ppm_SetSize(20)
  677.             call ppm_TextIntoBox(box#id, 's')
  678.         end
  679.         when nn=='e4'  then
  680.         do
  681.             yw = 1.445
  682.             if al == 'n' then call auflhoch()
  683.         end
  684.         when nn=='eb4' then
  685.         do
  686.             yw = 1.445
  687.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  688.             call ppm_SetSize(20)
  689.             call ppm_TextIntoBox(box#id, 'f')
  690.         end
  691.         when nn=='d#4' then
  692.         do
  693.             yw = 1.545
  694.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  695.             call ppm_SetSize(20)
  696.             call ppm_TextIntoBox(box#id, 's')
  697.         end
  698.         when nn=='d4'  then
  699.         do
  700.             yw = 1.545
  701.             if al == 'n' then call auflhoch()
  702.         end
  703.         when nn=='db4' then
  704.         do
  705.             yw = 1.545
  706.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  707.             call ppm_SetSize(20)
  708.             call ppm_TextIntoBox(box#id, 'f')
  709.         end
  710.         when nn=='c#4' then
  711.         do
  712.             yw = 1.645
  713.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  714.             call ppm_SetSize(20)
  715.             call ppm_TextIntoBox(box#id, 's')
  716.         end
  717.         when nn=='c4'  then
  718.         do
  719.             yw = 1.645
  720.             if al == 'n' then call auflhoch()
  721.         end
  722.         when nn=='b3'  then
  723.         do
  724.             yw = 1.745
  725.             if al == 'n' then call auflhoch()
  726.         end
  727.         when nn=='bb3'  then
  728.         do
  729.             yw = 1.745
  730.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  731.             call ppm_SetSize(20)
  732.             call ppm_TextIntoBox(box#id, 'f')
  733.         end
  734.         when nn=='a#3' then
  735.         do
  736.             yw = 1.845
  737.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  738.             call ppm_SetSize(20)
  739.             call ppm_TextIntoBox(box#id, 's')
  740.         end
  741.         when nn=='a3'  then
  742.         do
  743.             yw = 1.845
  744.             if al == 'n' then call auflhoch()
  745.         end
  746.         when nn=='ab3' then
  747.         do
  748.             yw = 1.845
  749.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  750.             call ppm_SetSize(20)
  751.             call ppm_TextIntoBox(box#id, 'f')
  752.         end
  753.         when nn=='g#3' then
  754.         do
  755.             yw = 1.945
  756.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  757.             call ppm_SetSize(20)
  758.             call ppm_TextIntoBox(box#id, 's')
  759.         end
  760.         when nn=='g3'  then
  761.         do
  762.             yw = 1.945
  763.             if al == 'n' then call auflhoch()
  764.         end
  765.         when nn=='gb3' then
  766.         do
  767.             yw = 1.945
  768.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  769.             call ppm_SetSize(20)
  770.             call ppm_TextIntoBox(box#id, 'f')
  771.         end
  772.         when nn=='f#3' then
  773.         do
  774.             yw = 2.045
  775.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  776.             call ppm_SetSize(20)
  777.             call ppm_TextIntoBox(box#id, 's')
  778.         end
  779.         when nn=='f3'  then
  780.         do
  781.             yw = 2.045
  782.             if al == 'n' then call auflhoch()
  783.         end
  784.         when nn=='e#3' then
  785.         do
  786.             yw = 2.145
  787.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  788.             call ppm_SetSize(20)
  789.             call ppm_TextIntoBox(box#id, 's')
  790.         end
  791.         when nn=='e3'  then
  792.         do
  793.             yw = 2.145
  794.             if al == 'n' then call auflhoch()
  795.         end
  796.         when nn=='eb3' then
  797.         do
  798.             yw = 2.145
  799.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  800.             call ppm_SetSize(20)
  801.             call ppm_TextIntoBox(box#id, 'f')
  802.         end
  803.         when nn=='d#3' then
  804.         do
  805.             yw = 2.245
  806.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  807.             call ppm_SetSize(20)
  808.             call ppm_TextIntoBox(box#id, 's')
  809.         end
  810.         when nn=='d3'  then
  811.         do
  812.             yw = 2.245
  813.             if al == 'n' then call auflhoch()
  814.         end
  815.         when nn=='db3' then
  816.         do
  817.             yw = 2.245
  818.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  819.             call ppm_SetSize(20)
  820.             call ppm_TextIntoBox(box#id, 'f')
  821.         end
  822.  
  823.         when nn=='c#3' then
  824.         do
  825.             yw = 2.345
  826.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  827.             call ppm_SetSize(20)
  828.             call ppm_TextIntoBox(box#id, 's')
  829.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  830.         end
  831.  
  832.         when nn=='c3'  then
  833.         do
  834.             yw = 2.345
  835.             if al == 'n' then call auflhoch()
  836.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  837.         end
  838.  
  839.         when nn=='b2'  then
  840.         do
  841.             yw = 2.445
  842.             if al == 'n' then call auflhoch()
  843.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  844.         end
  845.  
  846.         when nn=='bb2'  then
  847.         do
  848.             yw = 2.445
  849.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  850.             call ppm_SetSize(20)
  851.             call ppm_TextIntoBox(box#id, 'f')
  852.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  853.         end
  854.  
  855.         when nn=='a#2' then
  856.         do
  857.             yw = 2.545
  858.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  859.             call ppm_SetSize(20)
  860.             call ppm_TextIntoBox(box#id, 's')
  861.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  862.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  863.         end
  864.  
  865.         when nn=='a2'  then
  866.         do
  867.             yw = 2.545
  868.             if al == 'n' then call auflhoch()
  869.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  870.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  871.         end
  872.  
  873.         when nn=='ab2'  then
  874.         do
  875.             yw = 2.545
  876.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  877.             call ppm_SetSize(20)
  878.             call ppm_TextIntoBox(box#id, 'f')
  879.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  880.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  881.         end
  882.  
  883.         when nn=='g#2'  then
  884.         do
  885.             yw = 2.645
  886.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  887.             call ppm_SetSize(20)
  888.             call ppm_TextIntoBox(box#id, 's')
  889.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  890.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  891.         end
  892.  
  893.         when nn=='g2'  then
  894.         do
  895.             yw = 2.645
  896.             if al == 'n' then call auflhoch()
  897.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  898.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  899.         end
  900.  
  901.  
  902.         when nn=='gb2'  then
  903.         do
  904.             yw = 2.645
  905.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  906.             call ppm_SetSize(20)
  907.             call ppm_TextIntoBox(box#id, 'f')
  908.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  909.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  910.         end
  911.  
  912.         when nn=='f#2'  then
  913.         do
  914.             yw = 2.745
  915.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  916.             call ppm_SetSize(20)
  917.             call ppm_TextIntoBox(box#id, 's')
  918.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  919.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  920.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  921.         end
  922.  
  923.         when nn=='f2'  then
  924.         do
  925.             yw = 2.745
  926.             if al == 'n' then call auflhoch()
  927.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  928.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  929.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  930.         end
  931.  
  932.         when nn=='e2'  then
  933.         do
  934.             yw = 2.845
  935.             if al == 'n' then call auflhoch()
  936.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  937.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  938.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  939.         end
  940.  
  941.  
  942.     /* y-distance of the notes- notestem to bottom */
  943.  
  944.         when nn=='F#5'  then
  945.         do
  946.             yw = 1.12
  947.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  948.             call ppm_SetSize(20)
  949.             call ppm_TextIntoBox(box#id, 's')
  950.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  951.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  952.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  953.         end
  954.         when nn=='F5'  then
  955.         do
  956.             yw = 1.12
  957.             if al == 'n' then call aufltief()
  958.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  959.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  960.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  961.         end
  962.         when nn=='E5'  then
  963.         do
  964.             yw = 1.22
  965.             if al == 'n' then call aufltief()
  966.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  967.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  968.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  969.         end
  970.         when nn=='Eb5'  then
  971.         do
  972.             yw = 1.22
  973.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  974.             call ppm_SetSize(20)
  975.             call ppm_TextIntoBox(box#id, 'f')
  976.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  977.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  978.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  979.         end
  980.         when nn=='D#5'  then
  981.         do
  982.             yw = 1.32
  983.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  984.             call ppm_SetSize(20)
  985.             call ppm_TextIntoBox(box#id, 's')
  986.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  987.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  988.         end
  989.         when nn=='D5'  then
  990.         do
  991.             yw = 1.32
  992.             if al == 'n' then call aufltief()
  993.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  994.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  995.         end
  996.         when nn=='Db5'  then
  997.         do
  998.             yw = 1.32
  999.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1000.             call ppm_SetSize(20)
  1001.             call ppm_TextIntoBox(box#id, 'f')
  1002.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1003.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1004.         end
  1005.         when nn=='C#5'  then
  1006.         do
  1007.             yw = 1.42
  1008.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1009.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1010.         end
  1011.  
  1012.         when nn=='C5'  then
  1013.         do
  1014.             yw = 1.42
  1015.             if al == 'n' then call aufltief()
  1016.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1017.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1018.         end
  1019.  
  1020.         when nn=='B4'  then
  1021.         do
  1022.             yw = 1.52
  1023.             if al == 'n' then call aufltief()
  1024.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1025.         end
  1026.  
  1027.         when nn=='Bb4'  then
  1028.         do
  1029.             yw = 1.52
  1030.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1031.             call ppm_SetSize(20)
  1032.             call ppm_TextIntoBox(box#id, 'f')
  1033.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1034.         end
  1035.  
  1036.         when nn=='A#4' then
  1037.         do
  1038.             yw = 1.62
  1039.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1040.             call ppm_SetSize(20)
  1041.             call ppm_TextIntoBox(box#id, 's')
  1042.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1043.         end
  1044.  
  1045.         when nn=='A4'  then
  1046.         do
  1047.             yw = 1.62
  1048.             if al == 'n' then call aufltief()
  1049.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1050.         end
  1051.  
  1052.         when nn=='Ab4' then
  1053.         do
  1054.             yw = 1.62
  1055.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1056.             call ppm_SetSize(20)
  1057.             call ppm_TextIntoBox(box#id, 'f')
  1058.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1059.         end
  1060.  
  1061.         when nn=='G#4' then
  1062.         do
  1063.             yw = 1.72
  1064.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1065.             call ppm_SetSize(20)
  1066.             call ppm_TextIntoBox(box#id, 's')
  1067.         end
  1068.         when nn=='G4'  then
  1069.         do
  1070.             yw = 1.72
  1071.             if al == 'n' then call aufltief()
  1072.         end
  1073.         when nn=='Gb4' then
  1074.         do
  1075.             yw = 1.72
  1076.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1077.             call ppm_SetSize(20)
  1078.             call ppm_TextIntoBox(box#id, 'f')
  1079.         end
  1080.         when nn=='F#4' then
  1081.         do
  1082.             yw = 1.82
  1083.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1084.             call ppm_SetSize(20)
  1085.             call ppm_TextIntoBox(box#id, 's')
  1086.         end
  1087.         when nn=='F4'  then
  1088.         do
  1089.             yw = 1.82
  1090.             if al == 'n' then call aufltief()
  1091.         end
  1092.         when nn=='E#4' then
  1093.         do
  1094.             yw = 1.92
  1095.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1096.             call ppm_SetSize(20)
  1097.             call ppm_TextIntoBox(box#id, 's')
  1098.         end
  1099.         when nn=='E4'  then
  1100.         do
  1101.             yw = 1.92
  1102.             if al == 'n' then call aufltief()
  1103.         end
  1104.         when nn=='Eb4' then
  1105.         do
  1106.             yw = 1.92
  1107.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1108.             call ppm_SetSize(20)
  1109.             call ppm_TextIntoBox(box#id, 'f')
  1110.         end
  1111.         when nn=='D#4' then
  1112.         do
  1113.             yw = 2.02
  1114.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1115.             call ppm_SetSize(20)
  1116.             call ppm_TextIntoBox(box#id, 's')
  1117.         end
  1118.         when nn=='D4'  then
  1119.         do
  1120.             yw = 2.02
  1121.             if al == 'n' then call aufltief()
  1122.         end
  1123.         when nn=='Db4' then
  1124.         do
  1125.             yw = 2.02
  1126.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1127.             call ppm_SetSize(20)
  1128.             call ppm_TextIntoBox(box#id, 'f')
  1129.         end
  1130.         when nn=='C#4' then
  1131.         do
  1132.             yw = 2.12
  1133.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1134.             call ppm_SetSize(20)
  1135.             call ppm_TextIntoBox(box#id, 's')
  1136.         end
  1137.         when nn=='C4'  then
  1138.         do
  1139.             yw = 2.12
  1140.             if al == 'n' then call aufltief()
  1141.         end
  1142.         when nn=='B3'  then
  1143.         do
  1144.             yw = 2.22
  1145.             if al == 'n' then call aufltief()
  1146.         end
  1147.         when nn=='Bb3'  then
  1148.         do
  1149.             yw = 2.22
  1150.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1151.             call ppm_SetSize(20)
  1152.             call ppm_TextIntoBox(box#id, 'f')
  1153.         end
  1154.         when nn=='A#3' then
  1155.         do
  1156.             yw = 2.32
  1157.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1158.             call ppm_SetSize(20)
  1159.             call ppm_TextIntoBox(box#id, 's')
  1160.         end
  1161.         when nn=='A3'  then
  1162.         do
  1163.             yw = 2.32
  1164.             if al == 'n' then call aufltief()
  1165.         end
  1166.  
  1167.         when nn=='Ab3' then
  1168.         do
  1169.             yw = 2.32
  1170.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1171.             call ppm_SetSize(20)
  1172.             call ppm_TextIntoBox(box#id, 'f')
  1173.         end
  1174.         when nn=='G#3' then
  1175.         do
  1176.             yw = 2.42
  1177.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1178.             call ppm_SetSize(20)
  1179.             call ppm_TextIntoBox(box#id, 's')
  1180.         end
  1181.         when nn=='G3'  then
  1182.         do
  1183.             yw = 2.42
  1184.             if al == 'n' then call aufltief()
  1185.         end
  1186.         when nn=='Gb3' then
  1187.         do
  1188.             yw = 2.42
  1189.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1190.             call ppm_SetSize(20)
  1191.             call ppm_TextIntoBox(box#id, 'f')
  1192.         end
  1193.         when nn=='F#3' then
  1194.         do
  1195.             yw = 2.52
  1196.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1197.             call ppm_SetSize(20)
  1198.             call ppm_TextIntoBox(box#id, 's')
  1199.         end
  1200.         when nn=='F3'  then
  1201.         do
  1202.             yw = 2.52
  1203.             if al == 'n' then call aufltief()
  1204.         end
  1205.         when nn=='E#3' then
  1206.         do
  1207.             yw = 2.62
  1208.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1209.             call ppm_SetSize(20)
  1210.             call ppm_TextIntoBox(box#id, 's')
  1211.         end
  1212.         when nn=='E3'  then
  1213.         do
  1214.             yw = 2.62
  1215.             if al == 'n' then call aufltief()
  1216.         end
  1217.         when nn=='Eb3' then
  1218.         do
  1219.             yw = 2.62
  1220.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1221.             call ppm_SetSize(20)
  1222.             call ppm_TextIntoBox(box#id, 'f')
  1223.         end
  1224.         when nn=='D#3' then
  1225.         do
  1226.             yw = 2.72
  1227.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1228.             call ppm_SetSize(20)
  1229.             call ppm_TextIntoBox(box#id, 's')
  1230.         end
  1231.         when nn=='D3'  then
  1232.         do
  1233.             yw = 2.72
  1234.             if al == 'n' then call aufltief()
  1235.         end
  1236.         when nn=='Db3' then
  1237.         do
  1238.             yw = 2.72
  1239.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1240.             call ppm_SetSize(20)
  1241.             call ppm_TextIntoBox(box#id, 'f')
  1242.         end
  1243.  
  1244.         when nn=='C#3' then
  1245.         do
  1246.             yw = 2.82
  1247.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1248.             call ppm_SetSize(20)
  1249.             call ppm_TextIntoBox(box#id, 's')
  1250.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1251.         end
  1252.  
  1253.         when nn=='C3'  then
  1254.         do
  1255.             yw = 2.82
  1256.             if al == 'n' then call aufltief()
  1257.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1258.         end
  1259.  
  1260.         when nn=='B2'  then
  1261.         do
  1262.             yw = 2.92
  1263.             if al == 'n' then call aufltief()
  1264.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1265.         end
  1266.  
  1267.         when nn=='Bb2'  then
  1268.         do
  1269.             yw = 2.92
  1270.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1271.             call ppm_SetSize(20)
  1272.             call ppm_TextIntoBox(box#id, 'f')
  1273.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1274.         end
  1275.  
  1276.         when nn=='A#2' then
  1277.         do
  1278.             yw = 3.02
  1279.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1280.             call ppm_SetSize(20)
  1281.             call ppm_TextIntoBox(box#id, 's')
  1282.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1283.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1284.         end
  1285.  
  1286.         when nn=='A2'  then
  1287.         do
  1288.           yw = 3.02
  1289.             if al == 'n' then call aufltief()
  1290.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1291.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1292.         end
  1293.  
  1294.         when nn=='Ab2'  then
  1295.         do
  1296.           yw = 3.02
  1297.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1298.           call ppm_SetSize(20)
  1299.           call ppm_TextIntoBox(box#id, 'f')
  1300.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1301.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1302.         end
  1303.  
  1304.         when nn=='G#2'  then
  1305.         do
  1306.             yw = 3.12
  1307.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1308.             call ppm_SetSize(20)
  1309.             call ppm_TextIntoBox(box#id, 's')
  1310.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1311.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1312.         end
  1313.  
  1314.         when nn=='G2'  then
  1315.         do
  1316.           yw = 3.12
  1317.             if al == 'n' then call aufltief()
  1318.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1319.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1320.         end
  1321.  
  1322.         when nn=='Gb2'  then
  1323.         do
  1324.           yw = 3.12
  1325.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1326.           call ppm_SetSize(20)
  1327.           call ppm_TextIntoBox(box#id, 'f')
  1328.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1329.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1330.         end
  1331.  
  1332.         when nn=='F#2'  then
  1333.         do
  1334.           yw = 3.22
  1335.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1336.           call ppm_SetSize(20)
  1337.           call ppm_TextIntoBox(box#id, 's')
  1338.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1339.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1340.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1341.         end
  1342.  
  1343.         when nn=='F2'  then
  1344.         do
  1345.           yw = 3.22
  1346.             if al == 'n' then call aufltief()
  1347.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1348.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1349.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1350.         end
  1351.  
  1352.         when nn=='E2'  then
  1353.         do
  1354.           yw = 3.32
  1355.             if al == 'n' then call aufltief()
  1356.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1357.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1358.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1359.         end
  1360.         otherwise notenwert()
  1361.       end
  1362.  
  1363.  
  1364.         /* dimension of a notebox */
  1365.           notewidht = 0.64
  1366.           noteheight = 0.97
  1367.  
  1368.  
  1369.           boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1370.           call ppm_SetSize(notepkt)
  1371.           call ppm_TextIntoBox(boxid, nw)
  1372.           bakx = notex
  1373.           notex = (notex + xw)
  1374.           if notex >=18.7 then
  1375.               do
  1376.                 notex = 2.5
  1377.                 zz = zz + zdist
  1378.               end
  1379.           px = notex - 4
  1380.           py = zz-1
  1381.           if px < 0 then px = 0
  1382.           call ppm_SetPagePosition(px, py+2)
  1383.       end
  1384.    end
  1385. exit
  1386.  
  1387. auflhoch:
  1388. do
  1389.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1390.   boxnm = ppm_DocNextBox(Pbox)
  1391.   call ppm_DeleteContents(boxnm)
  1392.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1393.   return
  1394. end
  1395.  
  1396. aufltief:
  1397. do
  1398.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1399.   boxnm = ppm_DocNextBox(Pbox)
  1400.   call ppm_DeleteContents(boxnm)
  1401.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1402.   return
  1403. end
  1404.  
  1405. break_d:
  1406. break_e:
  1407. break_c:
  1408. halt:
  1409.     call exit_msg("User aborted Genie!")
  1410.  
  1411.  
  1412. exit_msg: procedure
  1413. do
  1414.     parse arg message
  1415.  
  1416.     if message ~= '' then
  1417.     call ppm_Inform(1,message,)
  1418.  
  1419.     call ppm_ClearStatus()
  1420.     call ppm_AutoUpdate(1)
  1421.     exit
  1422. end
  1423.  
  1424.